class Solution {
public:
    static const int MOD=1e9 + 7;
    int lengthAfterTransformations(string s, int t) {
        vector<int> cnt(26);
        for(int i=0;i<s.size();i++)
        {
            cnt[s[i]-'a']++;
        }

        for(int j=0;j<t;j++)
        {
            vector<int> nex(26);
            nex[0]=cnt[25];
            nex[1]=(cnt[25]+cnt[0])%MOD;
            for(int i=2;i<26;i++)
            {
                nex[i]=cnt[i-1];
            }
            cnt=move(nex);
        }
        int ret=0;
        for(int i=0;i<26;i++)
        {
            ret=(ret+cnt[i])%MOD;
        }
        return ret;

    }
};
